package ar.com.algotres.tpdos.modelo.juego;

import ar.com.algotres.tpdos.modelo.disparos.Disparo;
import ar.com.algotres.tpdos.modelo.disparos.DisparoConvencional;
import ar.com.algotres.tpdos.modelo.disparos.DisparoMinaConRetardoPuntual;
import ar.com.algotres.tpdos.modelo.disparos.PosicionAExplotarInvalidaExcpetion;
import ar.com.algotres.tpdos.modelo.fisica.Posicion;
import ar.com.algotres.tpdos.modelo.tablero.NaveNoInvertibleException;
import ar.com.algotres.tpdos.modelo.tablero.Tablero;

public class Jugador {

	public void disparoConvencional(Posicion posicion) {
		Disparo disparo = new DisparoConvencional();
		disparo.impactarEn(posicion);
		try {
			Tablero.getInstance().actualizarMapa();
		} catch (NaveNoInvertibleException | PosicionAExplotarInvalidaExcpetion exception) {
			exception.printStackTrace();
		}
	}

	public void disparoMinaPuntalRetardo(Posicion posicion) {
		Disparo disparo = new DisparoMinaConRetardoPuntual();
		disparo.impactarEn(posicion);
		try {
			Tablero.getInstance().actualizarMapa();
		} catch (NaveNoInvertibleException | PosicionAExplotarInvalidaExcpetion exception) {
			exception.printStackTrace();
		}
	}
}
